Expire Period

SoftwareShield System Feature Guide > Expiring Licenses > Expire Period

## Expire Period

You should already have a basic understanding of expiration types in the SoftwareShield System, If not please read Expiring Licenses in this reference.

An Expire Period causes the license to expire based on the passage of time. The period you specify is a number of days which starts counting down from the first time the license is run on a particular machine.

Using an Expire Period is the best way to implement a trial version of your software.

If you choose to use an Expire Period in your license, you must set it to a value greater than 0 and less than 10,000. This is the number of days the ClientProtector will StartUp the license before it considers it to be expired. The license may be started an arbitrary number of times during this period. The license does not begin to expire until the first time the StartUp function is called on a particular machine.

You can find the actual Expire Date (the last day of an expire period in UTC) at run time using two different function calls on the ClientProtector. (see below)

If a license is currently under the effect of an Expire Period, regardless of if it has expired or not, the license is said to be in Expire Mode. When you issue an Activation Code for a Release All Expiration Authorization Definition, you remove the license from Expire Mode. Once removed, the license can not be placed back into Expire Mode.

Authorization Definitions that can be used to manipulate an Expire Mode license that uses an Expire Period are:

1. Release All Expiration Authorization Definitions

2. Reset Expire Period Authorization Definitions

3. Change Expire Period Duration Authorization Definitions

Since the most common attack on an Expire Mode license is turning the system clock back to gain additional usage, the ClientProtector detects if time has moved backward since it was last started on a particular license. If detected, it will return a special code (FALSE_CLOCK_TURNED_BACK) to your software that will allow you to (optionally) prompt the user to correct their clock. Unlike other possible inconsistent states of a license, when the clock is detected to have been turned back, the license cannot be "recovered" until the clock is corrected. (See License Recovery for more information).

Checking the expiration state of your license primarily occurs in the ClientProtector StartUp function. For a view of the logical flow of control, see the SoftwareShield ClientProtector Control Flow-Charts.

### More Information

For help on actually setting the Expire Period of a license, see Expiration Tab in the SoftwareShield License Manager Reference.

For help on actually retrieving at run-time the Expire Date, see GetExpireDate and GetPeriodExpireDate in the SoftwareShield ClientProtector Reference.